package jgl.vajra.kingkong.part.mine.contract;

import java.util.Map;

import io.reactivex.Observable;
import jgl.vajra.kingkong.bean.InvitePrizeBalanceBean;
import jgl.vajra.kingkong.databinding.ActivityInvitePrizeBinding;
import jgl.vajra.kingkong.widget.mvvm.model.BaseModel;
import jgl.vajra.kingkong.widget.mvvm.view.BaseMVVMView;
import jgl.vajra.kingkong.widget.mvvm.viewmodel.BaseViewModel;

public class InvitePrizeContract {
    public abstract static class Model extends BaseModel {
        public abstract Observable<InvitePrizeBalanceBean> getInvitePrizeBalanceData(Map<String, Object> map);

        public abstract Observable<InvitePrizeBalanceBean> getInvitePrizeOwnerData(Map<String, Object> map);

        public abstract Observable<InvitePrizeBalanceBean> getInvitePrizeOperatorData(Map<String, Object> map);

        public abstract Observable<InvitePrizeBalanceBean> getInvitePrizeSumData(Map<String, Object> map);

        public abstract Observable<String> getWithdrawalBalanceData(Map<String, Object> map);
    }

    public interface View extends BaseMVVMView {

        void onRule();

        void onInvite();

        void onWithdrawal(int amount ,int tag);

        void returnInvitePrizeBalanceData(InvitePrizeBalanceBean data);

        void returnWithdrawalBalanceData();

        void returnInvitePrizeOwnerData(InvitePrizeBalanceBean data);

        void returnInvitePrizeOperatorData(InvitePrizeBalanceBean data);

        void returnInvitePrizeSumData(InvitePrizeBalanceBean data);
    }

    public abstract static class ViewModel extends BaseViewModel<View, ActivityInvitePrizeBinding, Model> {

        public abstract void getInvitePrizeBalanceData(Map<String, Object> map);

        public abstract void getInvitePrizeOwnerData(Map<String, Object> map);

        public abstract void getInvitePrizeOperatorData(Map<String, Object> map);

        public abstract void getInvitePrizeSumData(Map<String, Object> map);

        public abstract void getWithdrawalBalanceData(Map<String, Object> map);
    }
}
